//package com.ruoyi.web.controller.cs;
//
//import java.util.ArrayList;
//import java.util.Arrays;
//import java.util.List;
//
//import com.ruoyi.common.constant.Constants;
//import com.ruoyi.common.utils.StringUtils;
//import com.ruoyi.common.utils.poi.ExcelUtil;
//import com.ruoyi.cs.domain.TRechargeCard;
//import com.ruoyi.cs.service.ITRechargeCardService;
//import io.swagger.annotations.ApiOperation;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.security.access.prepost.PreAuthorize;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.*;
//import com.ruoyi.common.annotation.Log;
//import com.ruoyi.common.core.controller.BaseController;
//import com.ruoyi.common.core.domain.AjaxResult;
//import com.ruoyi.common.enums.BusinessType;
//import com.ruoyi.cs.domain.TRechargeCardOperation;
//import com.ruoyi.cs.service.ITRechargeCardOperationService;
//import com.ruoyi.common.core.page.TableDataInfo;
//
///**
// * 充值卡录入Controller
// *
// * @author ruoyi
// * @date 2021-08-27
// */
//@RestController
//@RequestMapping("/cs/operation")
//public class TRechargeCardOperationController extends BaseController
//{
//    private static  final  Logger log = LoggerFactory.getLogger(TRechargeCardOperationController.class);
//    @Autowired
//    private ITRechargeCardOperationService tRechargeCardOperationService;
//    @Autowired
//    private ITRechargeCardService tRechargeCardService;
//    @Value("${ruoyi.excelpath}")
//    private String excelpath;
//    /**
//     * 查询生成充值码列表
//     */
//    @PreAuthorize("@ss.hasPermi('cs:operation:list')")
//    @PostMapping("/list")
//    public TableDataInfo list(@RequestBody TRechargeCardOperation tRechargeCardOperation)
//    {
//        startPage(tRechargeCardOperation.getPageNum(),tRechargeCardOperation.getPageSize());
//        List<TRechargeCardOperation> list = tRechargeCardOperationService.selectTRechargeCardOperationList(tRechargeCardOperation);
//        return getDataTable(list);
//    }
//
//    /**
//     * 统计生成充值码数额
//     */
//    @PreAuthorize("@ss.hasPermi('cs:operation:count')")
//    @PostMapping("/count")
//    public AjaxResult count(@RequestBody TRechargeCardOperation tRechargeCardOperation)
//    {
//        return tRechargeCardOperationService.count(tRechargeCardOperation);
//    }
//
//    /**
//     * 获取充值卡录入详细信息
//     */
//    @PreAuthorize("@ss.hasPermi('cs:operation:getCardInfo')")
//    @PostMapping("/getCardInfo")
//    public TableDataInfo getCardInfo(@RequestBody TRechargeCard rechargeCard)
//    {
//        if (StringUtils.isNotEmpty(rechargeCard.getCardStatus())){
//            if (rechargeCard.getCardStatus().equals("3")){
//                rechargeCard.setCardStatus(null);
//                rechargeCard.setDelFlag(Constants.FAIL);
//            }else{
//                rechargeCard.setDelFlag(Constants.SUCCESS);
//            }
//        }
//        startPage(rechargeCard.getPageNum(),rechargeCard.getPageSize());
//        List<TRechargeCard> list = tRechargeCardService.getCardInfo(rechargeCard);
//        return getDataTable(list);
//    }
//
//    /**
//     * 导出充值卡明细列表
//     */
//    @PreAuthorize("@ss.hasPermi('cs:operation:cardexport')")
//    @Log(title = "充值卡明细数据导出", businessType = BusinessType.EXPORT)
//    @PostMapping("/cardexport")
//    public AjaxResult export(@RequestBody TRechargeCard tRechargeCard)
//    {
//        if (StringUtils.isNotEmpty(tRechargeCard.getCardStatus())){
//            if (tRechargeCard.getCardStatus().equals("3")){
//                tRechargeCard.setCardStatus(null);
//                tRechargeCard.setDelFlag(Constants.FAIL);
//            }
//        }
//        List<TRechargeCard> list = tRechargeCardService.getCardInfo(tRechargeCard);
//        ExcelUtil<TRechargeCard> util = new ExcelUtil<TRechargeCard>(TRechargeCard.class);
//        return util.exportExcel(list, "card",excelpath);
//    }
//
//    /**
//     * 批量生成充值码
//     */
//    @PreAuthorize("@ss.hasPermi('cs:operation:add')")
//    @Log(title = "批量生成充值码", businessType = BusinessType.INSERT)
//        @PostMapping("/add")
//    public AjaxResult add(@RequestBody TRechargeCardOperation tRechargeCardOperation)
//    {
//
//        try {
//            return tRechargeCardOperationService.insertTRechargeCardOperation(tRechargeCardOperation);
//        } catch (Exception e) {
//            log.error("批量生成充值码异常:{}",e.getMessage());
//            return AjaxResult.error("批量生成充值码异常");
//        }
//    }
//
//
//    /**
//     * 修改充值卡状态
//     */
//    @PreAuthorize("@ss.hasPermi('cs:operation:edit')")
//    @Log(title = "充值卡明细", businessType = BusinessType.UPDATE)
//    @PostMapping("/edit")
//    public AjaxResult edit(@RequestBody TRechargeCard tRechargeCard)
//    {
//        return tRechargeCardService.updateTRechargeCard(tRechargeCard);
//    }
//
////    /**
////     * 修改充值卡录入
////     */
////    @PreAuthorize("@ss.hasPermi('cs:operation:edit')")
////    @Log(title = "充值卡录入", businessType = BusinessType.UPDATE)
////    @PostMapping("/edit")
////    public AjaxResult edit(@RequestBody TRechargeCardOperation tRechargeCardOperation)
////    {
////        return toAjax(tRechargeCardOperationService.updateTRechargeCardOperation(tRechargeCardOperation));
////    }
////
////    /**
////     * 删除充值卡录入
////     */
////    @PreAuthorize("@ss.hasPermi('cs:operation:remove')")
////    @Log(title = "充值卡录入", businessType = BusinessType.DELETE)
////	@DeleteMapping("/{recordIds}")
////    public AjaxResult remove(@PathVariable String[] recordIds)
////    {
////        return toAjax(tRechargeCardOperationService.deleteTRechargeCardOperationByIds(recordIds));
////    }
//
//    /**
//     * 短信验证码发送
//     * @return
//     */
//    @PreAuthorize("@ss.hasPermi('cs:operation:sendNode')")
//    @GetMapping("/sendNode")
//    public  AjaxResult sendNode()
//    {
//        try {
//            return tRechargeCardOperationService.sendNode(Constants.CARDPHONE);
//        } catch (Exception e) {
//            log.error("短信验证码发送异常:{}",e.getMessage());
//            return AjaxResult.error("短信验证码发送异常:{}",e.getMessage());
//        }
//    }
//
//    /**
//     * 短信验证
//     * @return
//     */
//    @PreAuthorize("@ss.hasPermi('cs:operation:smsvarification')")
//    @GetMapping("/smsvarification")
//    public  AjaxResult smsvarification(String code)
//    {
//        try {
//            return tRechargeCardOperationService.smsvarification(code);
//        } catch (Exception e) {
//            log.error("短信验证异常:{}",e.getMessage());
//            return AjaxResult.error("短信验证异常:{}",e.getMessage());
//        }
//    }
//
//    /**
//     * 充值码出售的金额统计
//     */
//    @PreAuthorize("@ss.hasPermi('cs:operation:sellCount')")
//    @PostMapping("/sellCount")
//    public AjaxResult sellCount(@RequestBody TRechargeCard tRechargeCard)
//    {
//        return tRechargeCardOperationService.sellCount(tRechargeCard);
//    }
//
//    /**
//     * 充值卡详情列表
//     */
//    @PreAuthorize("@ss.hasPermi('cs:operation:cardInfoList')")
//    @PostMapping("/cardInfoList")
//    public TableDataInfo cardInfoList(@RequestBody TRechargeCard tRechargeCard)
//    {
//        startPage(tRechargeCard.getPageNum(),tRechargeCard.getPageSize());
//        List<TRechargeCard> list = tRechargeCardOperationService.cardInfoList(tRechargeCard);
//        return getDataTable(list);
//    }
//
//    /**
//     * 批量销毁卡密
//     */
//    @PreAuthorize("@ss.hasPermi('cs:operation:batchDestroy')")
//    @GetMapping("/batchDestroy")
//    public AjaxResult batchDestroy(String cardIds,String delFlag)
//    {
//        if (StringUtils.isEmpty(cardIds) || StringUtils.isEmpty(delFlag)) {
//            return  new AjaxResult(Constants.FAILCODE,"参数不正确！");
//        }
//        return tRechargeCardOperationService.batchDestroy(cardIds,delFlag);
//    }
//    /**
//     * 全量销毁卡密
//     */
//    @PreAuthorize("@ss.hasPermi('cs:operation:allDestroy')")
//    @GetMapping("/allDestroy")
//    public AjaxResult allDestroy(String recordId)
//    {
//        if (StringUtils.isEmpty(recordId)) {
//            return  new AjaxResult(Constants.FAILCODE,"参数不能为空！");
//        }
//        return tRechargeCardOperationService.allDestroy(recordId);
//    }
//
//
//
//    /**-----------------------------------------------------前端-------------------------------------------------*/
//    /**
//     * 充值码充值接口
//     * @return
//     */
//    @ApiOperation("充值码充值接口")
//    @RequestMapping(name="充值码充值接口",value="/rechargeCardPassword",method = RequestMethod.GET)
//    public  AjaxResult rechargeCardPassword(String cardPassword,String userId)
//    {
//        try {
//            return tRechargeCardOperationService.rechargeCardPassword(cardPassword,userId);
//        } catch (Exception e) {
//            log.error("充值码充值异常:{}",e.getMessage());
//            return AjaxResult.error("充值码充值异常:{}",e.getMessage());
//        }
//    }
//
//}
